#include "SurfaceImage.h"
#include "SGraphics.h"
#include "MSDisplayContext.h"
#include "SDisplayContext.h"

using namespace WONAPI;


///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
SurfaceImage::SurfaceImage(SurfaceBase *theSurface) : mSurface(theSurface), mGraphics(NULL) 
{ 
	mWidth = theSurface->GetWidth(); 
	mHeight = theSurface->GetHeight(); 
}
	
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
SurfaceImage::~SurfaceImage() 
{ 
	delete mGraphics; 
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void SurfaceImage::Draw(DisplayContext *theContext,int x, int y, int left, int top, int width, int height)
{
	mSurface->BlitToDC(((MSDisplayContext*)theContext)->mDC,x,y,left,top,width,height);
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
Graphics& SurfaceImage::GetGraphics()
{
	if(mGraphics==NULL)
	{		
		mGraphics = new SGraphics;
		mGraphics->Attach(new SDisplayContext(mSurface));
	}
	return *mGraphics;
}

